package com.xu.t1.controller;

import com.xu.t1.middleware.online.OnlineUserManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Map;

/**
 * 负责显示在线人数相关的控制层接口类
 *
 * @author xu
 *
 */


@RestController
@RequestMapping("/api/online")
public class OnlineUserController {

    @Autowired
    private OnlineUserManager onlineUserManager;

    // 获取全部在线信息（总人数 + 各服务器人数）
    @GetMapping("/stats")
    public Map<String, Object> getOnlineStats() {
        return onlineUserManager.getOnlineStats();
    }

    // 获取总在线人数
    @GetMapping("/total")
    public Integer getOnlineTotal() {
        return onlineUserManager.getOnlineTotal();
    }

    // 获取指定服务器的在线人数
    @GetMapping("/server/{serverId}")
    public int getServerOnlineCount(@PathVariable String serverId) {
        return onlineUserManager.getServerOnlineCount(serverId);
    }
}